<!DOCTYPE html>
<html lang="pl">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<title>git - prosty przewodnik - nic skomplikowanego!</title>
    <link href='http://fonts.googleapis.com/css?family=Chelsea+Market' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/0/normalize.min.css" type="text/css">
	<link rel="stylesheet" href="css/style.css" type="text/css">
    <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-652147-13']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

      function recordOutboundLink(link, category, action) {
         _gat._getTrackerByName()._trackEvent(category, action);
         setTimeout('document.location = "' + link.href + '"', 100);
      }
    </script>
</head>
<body>
    <div class="scrollblock block-title">
        <h1>git - prosty przewodnik</h1>
      <p>Prosty przewodnik dla początkujących. nic skomplikowanego ;)</p>
        <a href="https://twitter.com/share" class="twitter-share-button" data-via="rogerdudler" data-size="large" data-url="http://rogerdudler.github.com/git-guide" data-related="rogerdudler" data-hashtags="git">Tweet</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
        <p class="meta">
            by <a href="http://www.twitter.com/rogerdudler">Roger Dudler</a>
            <br />credits to <a href="http://www.twitter.com/tfnico">@tfnico</a>, <a href="http://www.twitter.com/fhd">@fhd</a> and <a href="http://www.namics.com">Namics</a><br />
            this guide in
            <a href="index.html">english</a>,
            <a href="index.de.html">deutsch</a>,
            <a href="index.es.html">español</a>,
            <a href="index.fr.html">français</a>,
            <a href="index.it.html">italiano</a>,
            <a href="index.nl.html">nederlands</a>,
            <a href="index.pt_BR.html">português</a>,
            <a href="index.ru.html">русский</a>,
            <a href="index.tr.html">türkçe</a>,
            <br/>
            <a href="index.my.html">မြန်မာ</a>,
            <a href="index.ja.html">日本語</a>,
            <a href="index.zh.html">中文</a>,
            <a href="index.ko.html">한국어</a>
            <a href="index.vi.html">Vietnamese</a>
            <br />
            please report issues on <a href="https://github.com/rogerdudler/git-guide/issues">github</a>
        </p>
        <img src="img/arrow.png" alt="" />
    </div>
    <!-- setup -->
    <a name="setup"></a>
    <div class="scrollblock block-setup">
        <h2>Instalacja</h2>
        <p>
            <a
                href="http://git-scm.com/download/mac">Pobierz
            git dla OSX</a>
        </p>
        <p>
            <a href="http://msysgit.github.io/">Pobierz git dla Windows</a>
        </p>
        <p>
            <a href="http://git-scm.com/book/en/Getting-Started-Installing-Git">Pobierz git
                dla Linux</a>
        </p>
    </div>
    <a name="create"></a>
    <div class="scrollblock block-create">
        <h2>utwórz nowe repozytorium</h2>
        <p>
            utwórz katalog, wejdź do niego i wykonaj<br />
            <code>git init</code><br />
            aby utworzyć nowe repozytorium git.
        </p>
    </div>
    <a name="checkout"></a>
    <div class="scrollblock block-checkout">
        <h2>pobierz repozytorium</h2>
        <p>
            utwórz kopię roboczą lokalnego repozytorium poprzez polecenie<br />
            <code>git clone /path/to/repository</code><br />
            jeśli korzystasz ze zdalnego serwera, użyjesz polecenia<br />
            <code>git clone username@host:/path/to/repository</code>
        </p>
    </div>
    <a name="trees"></a>
    <div class="scrollblock block-trees">
        <h2>przepływ pracy</h2>
        <p>
            twoje lokalne repozytorium składa się z trzech "drzew" zarządzanych
            przez git.
            przerwsze to <code>Katalog Roboczy</code>, który przechowuje
            bieżące pliki.
            drugie to <code>Index</code>, które działa jak poczekalnia i
            ostatnie z nich
            to <code>HEAD</code>, które wskazuje na ostatni utworzony commit.
        </p>
        <img src="img/trees.png" alt="" />
    </div>
    <a name="add"></a>
    <div class="scrollblock block-add">
        <h2>add &amp; commit</h2>
        <p>
            Możesz zaproponować zmiany (dodać je do <b>Index</b>) używając<br />
            <code>git add &lt;filename&gt;</code><br />
            <code>git add *</code><br />
            To pierwszy krok podczas pracy z gitem. <br />
            Aby rzeczywiście
            zatwierdzić te zmiany użyj<br />
            <code>git commit -m "Commit message"</code><br />
            Teraz plik jest zatwierdzony w <b>HEAD</b>, ale nie w
            zdalnym repozytorium.
        </p>
    </div>
    <a name="push"></a>
    <div class="scrollblock block-remote">
        <h2>wysyłanie zmian</h2>
        <p>
            Twoje zmiany są obecnie w <b>HEAD</b> twojej kopii roboczej. Aby
            wysłać te zmiany do zdalnego repozytorium, wykonaj <br />
            <code>git push origin master</code><br />
            Zmień <i>master</i> na dowolną gałąź, której zmiany wysyłasz.
            <br /><br />
            Jeśli nie sklonowałeś istniejącego repozytorium i chcesz połączyć
            je ze zdalnym serwerem, musisz go dodać poprzez <br />
            <code>git remote add origin &lt;server&gt;</code><br />
            Teraz masz możliwość wysyłania zmian na wskazany serwer.<br />

        </p>
    </div>
    <a name="branching"></a>
    <div class="scrollblock block-branching">
        <h2>branching</h2>
        <p>
            Gałęzie są używane do rozwijania funkcjonalności odizolowanych od
            siebie. Gałąź <i>master</i> jest domyślną gałęzią kiedy
            tworzysz repozytorium. <br />
            Używaj innych gałęzi do rozwoju projektu, a
            kiedy skończysz
            scalaj je z powrotem z gałęzią główną.
        </p>
        <img src="img/branches.png" alt="" />
        <p>
            utwórz nową gałąź o nazwie "feature_x" i przełącz się na nią<br />
            <code>git checkout -b feature_x</code><br />
            przełącz się z powrotem na master<br />
            <code>git checkout master</code><br />
            i usuń gałąź<br />
            <code>git branch -d feature_x</code><br />
            gałąź <i>nie jest dostępna dla innych</i> dopóki nie wyślesz jej do
            zdalnego repozytorium<br />
            <code>git push origin &lt;branch&gt;</code>
        </p>
    </div>
    <a name="update"></a>
    <div class="scrollblock block-merging">
        <h2>aktualizacja i scalanie</h2>
        <p>
            aby zaktualizować lokalne repozytorium do ostatniego commita,
            wykonaj <br />
            <code>git pull</code><br />
            w swoim katalogu roboczym aby pobrać(<i>fetch</i>) i
            scalić(<i>merge</i>) zdalne
            zmiany.<br />
            aby scalić inną gałąź z gałęzią aktywną (np. master), użyj<br />
            <code>git merge &lt;branch&gt;</code><br />
            w obu przypadkach git próbuje scalić zmiany automatycznie. Niestety
            nie zawsze jest to możliwe i powoduje <i>konflikty</i>.
            Jesteś odpowiedzialny za ich scalenie.
            Ręcznie poprzez edycję plików wskazanych przez git. Po zmianie
            musisz oznaczyć je jako scalone poprzez<br />
            <code>git add &lt;filename&gt;</code><br />
            przed scaleniem zmian, możesz je obejrzeć używając<br />
            <code>git diff &lt;source_branch&gt; &lt;target_branch&gt;</code>
        </p>
    </div>
    <a name="tagging"></a>
    <div class="scrollblock block-tagging">
        <h2>Tagowanie</h2>
        <p>
            Zaleca się tworzenie tagów dla wersji oprogramowania. To znany
            koncept, który istnieje również w SVN. Możesz utworzyć nowy tag
            o nazwie <i>1.0.0</i> wykonując<br />
            <code>git tag 1.0.0 1b2e1d63ff</code><br />
            <i>1b2e1d63ff</i> to pierwsze 10 znaków numeru commita do którego
            odwołuje się ten tag. Możesz uzyskać ten numer patrząc na...<br />
        </p>
    </div>
    <a name="log"></a>
    <div class="scrollblock block-log">
        <h2>log</h2>
        <p>
            Możesz przeglądać historię repozytorium w najprostszej formie
            używając..
            <code>git log</code><br />
            Możesz dodawać dużo parametrów aby uzyskać to czego potrzebujesz.
            aby zobaczyć commity konkretnego autora:<br />
            <code>git log --author=bob</code><br />
            aby zobaczyć bardziej zwarty rezultat, gdzie commit jest pojedynczą
            linią:<br />
            <code>git log --pretty=oneline</code><br />
            A może chcesz zobaczyć drzewo w ASCII art wszystkich gałęzi
            opatrzone ich nazwami oraz nazwami tagów: <br />
            <code>git log --graph --oneline --decorate --all</code><br />
            zobacz tylko te pliki które zostały zmienione: <br />
            <code>git log --name-status</code><br />
            To tylko kilka z możliwych parametrów, których możesz użyć. Wiecej
            zobaczysz w
            <code>git log --help</code><br />
        </p>
    </div>
    <a name="checkout-replace"></a>
    <div class="scrollblock block-checkout-replace">
        <h2>wycofaj lokalne zmiany</h2>
        <p>
            Jeśli coś pójdzie nie tak (co oczywiście nigdy się nie zdarza ;)
            możesz wycofać lokalne zmiany poprzez<br />
            <code>git checkout -- &lt;filename&gt;</code><br />
            zastępując zmiany w katalogu roboczym ostatnią zawartością HEAD.
            Zmiany, które zostały już dodane do index, tak jak nowe pliki
            zostaną zachowane.
        </p>
        <p>
            Jeśli zamiast tego chcesz porzucić wszystkie lokalne zmiany i
            commity pobierz ostatnią historię z serwera i ustaw na nią swoją
            gałąź lokalną<br />
            <code>git fetch origin</code><br />
            <code>git reset --hard origin/master</code>
        </p>
    </div>
    <a name="hints"></a>
    <div class="scrollblock block-hints">
        <h2>Wskazówki</h2>
        <p>
            wbudowane GUI dla git<br />
            <code>gitk</code><br />
            wyjście git z kolorami<br />
            <code>git config color.ui true</code><br />
            pokaż log jako pojedyncze linie<br />
            <code>git config format.pretty oneline</code><br />
            użyj interaktywnego dodawania<br />
            <code>git add -i</code>
        </p>
    </div>
    <a name="resources"></a>
    <div class="scrollblock block-resources">
        <h2>Linki i zasoby</h2>
        <h3>GUI</h3>
        <p>
            <ul>
                <li><a href="http://gitx.laullon.com/">GitX (L) (OSX, open source)</a></li>
                <li><a href="http://www.git-tower.com/">Tower (OSX)</a></li>
                <li><a href="http://www.sourcetreeapp.com/">Source Tree (OSX & Windows, free)</a></li>
                <li><a href="http://mac.github.com/">GitHub for Mac (OSX, free)</a></li>
                <li><a href="https://itunes.apple.com/gb/app/gitbox/id403388357?mt=12">GitBox (OSX, App Store)</a></li>
            </ul>
        </p>
        <h3>przewodniki</h3>
        <p>
            <ul>
                <li><a href="http://book.git-scm.com/">Git Community Book</a></li>
                <li><a href="http://progit.org/book/">Pro Git</a></li>
                <li><a href="http://think-like-a-git.net/">Think like a git</a></li>
                <li><a href="http://help.github.com/">GitHub Help</a></li>
                <li><a href="http://marklodato.github.com/visual-git-guide/index-en.html">A Visual Git Guide</a></li>
            </ul>
        </p>
        <h3>pomoc</h3>
        <p>
            <ul>
                <li><a href="http://groups.google.com/group/git-users/">Git User Mailing List</a></li>
                <li><a href="http://jk.gs/git/">#git on irc.freenode.net</a></li>
            </ul>
        </p>
    </div>
    <a name="comments"></a>
    <div class="scrollblock block-comments">
        <h2>komentarze</h2>
        <div id="disqus_thread"></div>
        <script type="text/javascript">
            /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
            var disqus_shortname = 'git-the-simple-guide'; // required: replace example with your forum shortname

            /* * * DON'T EDIT BELOW THIS LINE * * */
            (function() {
                var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
                dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
                (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
            })();
        </script>
        <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    </div>
    <a href="http://www.git-tower.com/?source=rd" onClick="recordOutboundLink(this, 'Outbound Links', 'git-tower.com');return false;" class="tower"></a>
    <a href="files/git_cheat_sheet.pdf" onClick="recordOutboundLink(this, 'Cheat Sheet', 'git-guide');return false;" class="cheatsheet"></a>
</body>
</html>
